void main() {
  /**
   * num是抽象类，有两个子类
   *  int:整数类型
   *  double:浮点类型
   * 常用方法：
   *  isEven 是否是偶数
   *  isOdd  是否是奇数
   *  isNaN  是否是NAN，Not-a-Number，比如NAN当被除数是0的得到的结果
   *  sign  返回符号(对于0返回0，对于小于0的值返回 -1，对于大于0的值返回 1)
   *  isNegative 是否是负数
   *  toInt()  转成int类型 (舍去小数)
   *  toDouble()  转成double类型
   *  abs()  表示绝对值
   *  round()  四舍五入
   *  ceil()  向上取整
   *  floor() 向下取整
   *  truncate()  返回去掉小数点后面的整数
   */
  print(9.isEven); //false
  print(9.isOdd); //true
  print(9.isNaN); //false
  print((0 / 0).isNaN); //true
  print((-1).sign); //-1
  print((-1).isNegative); //true
  print(1.1.toInt()); //1
  print(1.toDouble()); //1.0
  print(-1.abs()); //1
  print(5.4.round()); //5
  print(5.6.round()); //6
  print(3.2.ceil()); //4
  print((-3.2).ceil()); //-4
  print(3.2.truncate()); //3
  print(-3.2.truncate()); //-3
  print(2.2.toInt().toDouble()); //2.0

  /**
   * 字符串转换操作
   */
  // String -> int
  int one = int.parse('1');
  // String -> double
  double onePointOne = double.parse('1.1');
  // int -> String
  String oneAsString = 1.toString();
  // double -> String 注意括号中要有小数点位数，否则报错
  String piAsString = 3.14159.toStringAsFixed(2);
  print(piAsString);//3.14
}
